home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / VideoServices.p < prev    next >
Text File  |  1996-05-01  |  4KB  |  130 lines

  1. {
  2.      File:        VideoServices.p
  3.  
  4.      Contains:    Video Services Library Interfaces.
  5.  
  6.      Version:    Technology:    PowerSurge 1.0.2
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT VideoServices;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __VIDEOSERVICES__}
  28. {$SETC __VIDEOSERVICES__ := 1}
  29.  
  30. {$I+}
  31. {$SETC VideoServicesIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __NAMEREGISTRY__}
  38. {$I NameRegistry.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __QUICKDRAW__}
  41. {$I Quickdraw.p}
  42. {$ENDC}
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48.  
  49. CONST
  50.     kTransparentEncoding        = 0;
  51.     kInvertingEncoding            = 1;
  52.  
  53.     kTransparentEncodingShift    = $00;
  54.     kTransparentEncodedPixel    = $01;
  55.     kInvertingEncodingShift        = $02;
  56.     kInvertingEncodedPixel        = $04;
  57.  
  58.     kHardwareCursorDescriptorMajorVersion = $0001;
  59.     kHardwareCursorDescriptorMinorVersion = $0000;
  60.  
  61.  
  62. TYPE
  63.     UInt32Ptr                            = ^UInt32;
  64.     HardwareCursorDescriptorRecPtr = ^HardwareCursorDescriptorRec;
  65.     HardwareCursorDescriptorRec = RECORD
  66.         majorVersion:            UInt16;
  67.         minorVersion:            UInt16;
  68.         height:                    UInt32;
  69.         width:                    UInt32;
  70.         bitDepth:                UInt32;
  71.         maskBitDepth:            UInt32;
  72.         numColors:                UInt32;
  73.         colorEncodings:            UInt32Ptr;
  74.         flags:                    UInt32;
  75.         supportedSpecialEncodings: UInt32;
  76.         specialEncodings:        ARRAY [0..15] OF UInt32;
  77.     END;
  78.  
  79.     HardwareCursorDescriptorPtr            = ^HardwareCursorDescriptorRec;
  80.  
  81. CONST
  82.     kHardwareCursorInfoMajorVersion = $0001;
  83.     kHardwareCursorInfoMinorVersion = $0000;
  84.  
  85.  
  86. TYPE
  87.     HardwareCursorInfoRecPtr = ^HardwareCursorInfoRec;
  88.     HardwareCursorInfoRec = RECORD
  89.         majorVersion:            UInt16;                                    {  Test tool should check for kHardwareCursorInfoMajorVersion1 }
  90.         minorVersion:            UInt16;                                    {  Test tool should check for kHardwareCursorInfoMinorVersion1 }
  91.         cursorHeight:            UInt32;
  92.         cursorWidth:            UInt32;
  93.         colorMap:                CTabPtr;                                {  nil or big enough for hardware's max colors }
  94.         hardwareCursor:            Ptr;
  95.         reserved:                ARRAY [0..5] OF UInt32;                    {  Test tool should check for 0s }
  96.     END;
  97.  
  98.     HardwareCursorInfoPtr                = ^HardwareCursorInfoRec;
  99.  
  100. CONST
  101.     kVBLInterruptServiceType    = 'vbl ';
  102.     kHBLInterruptServiceType    = 'hbl ';
  103.     kFrameInterruptServiceType    = 'fram';
  104.  
  105.  
  106. TYPE
  107.     InterruptServiceType                = ResType;
  108.     InterruptServiceIDType                = UInt32;
  109.     InterruptServiceIDPtr                = ^InterruptServiceIDType;
  110. {$IFC FOR_SYSTEM7_ONLY }
  111. FUNCTION VSLNewInterruptService(VAR serviceDevice: RegEntryID; serviceType: InterruptServiceType; serviceID: InterruptServiceIDPtr): OSErr; C;
  112. {$ENDC}
  113. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  114. FUNCTION VSLNewInterruptService(VAR serviceDevice: RegEntryRef; serviceType: InterruptServiceType; serviceID: InterruptServiceIDPtr): OSErr; C;
  115. FUNCTION VSLWaitOnInterruptService(serviceID: InterruptServiceIDType; timeout: Duration): OSErr; C;
  116. {$ENDC}
  117. FUNCTION VSLDisposeInterruptService(serviceID: InterruptServiceIDType): OSErr; C;
  118. FUNCTION VSLDoInterruptService(serviceID: InterruptServiceIDType): OSErr; C;
  119. FUNCTION VSLPrepareCursorForHardwareCursor(cursorRef: UNIV Ptr; hardwareDescriptor: HardwareCursorDescriptorPtr; hwCursorInfo: HardwareCursorInfoPtr): BOOLEAN; C;
  120. {$ALIGN RESET}
  121. {$POP}
  122.  
  123. {$SETC UsingIncludes := VideoServicesIncludes}
  124.  
  125. {$ENDC} {__VIDEOSERVICES__}
  126.  
  127. {$IFC NOT UsingIncludes}
  128.  END.
  129. {$ENDC}
  130.